package cn.wolfcode.trip.admin.interceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import cn.wolfcode.trip.base.domain.User;
import cn.wolfcode.trip.base.util.UserContext;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;

/**
 * Copyright: Copyright (c) 2019 Super520
 * 描述：检查登录拦截器
 *
 * @Package: com.super520.rbac.web.interceptor
 * 类名:@CheckLoginInterceptor.java
 * @author: PengQi
 * @date: 2019年4月6日 下午11:40:02
 */
public class CheckLoginInterceptor extends HandlerInterceptorAdapter {

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
            throws Exception {
        // 前置处理,在控制器方法之前调用这个方法,返回值表示是否放行
        // 从Session中取出当前登录的对象,判断是否为null
        User user = UserContext.getCurrentUser();
        if (user == null) {
            // 没有登录
            response.sendRedirect("/");
            return false;// 不放行
        }
        return true;// 已经登录了,放行
    }
}
